/**
 * 消息格式化工具
 * 用于格式化 AI 返回的消息内容
 */

/**
 * 格式化消息内容
 * 支持 Markdown 转 HTML、链接识别等
 */
export function formatMessage(content) {
  if (!content) return ''
  
  let formatted = content
  
  // 转义 HTML
  formatted = escapeHtml(formatted)
  
  // 处理换行
  formatted = formatted.replace(/\n/g, '<br>')
  
  // 处理链接
  formatted = formatted.replace(
    /(https?:\/\/[^\s]+)/g,
    '<a href="$1" target="_blank" style="color: #5e7ce0; text-decoration: none;">$1</a>'
  )
  
  // 处理加粗 **text**
  formatted = formatted.replace(
    /\*\*(.+?)\*\*/g,
    '<strong>$1</strong>'
  )
  
  // 处理列表
  formatted = formatted.replace(
    /^\d+\.\s(.+)$/gm,
    '<div style="margin: 4px 0;">$1</div>'
  )
  
  return formatted
}

/**
 * HTML 转义
 */
function escapeHtml(text) {
  const map = {
    '&': '&amp;',
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    "'": '&#039;'
  }
  return text.replace(/[&<>"']/g, m => map[m])
}

